package com.penghaisoft.microwms.base.web.data.service;


import com.penghaisoft.microwms.common.data.model.MdWarehouse;
import com.penghaisoft.microwms.common.dto.Resp;
import com.penghaisoft.microwms.common.page.Pager;

import java.util.List;

/**
 * @Description 仓库业务接口类
 * @author gaofeng
 * @date 2017年5月24日 下午2:22:10 
 * @version 1.0
 */
public interface IMdWarehouseService {
	
	/** 
	 * @Title create
	 * @Description 新增记录
	 * @author gaofeng
	 * @date 2017年5月24日 下午2:22:50
	 * @param mdWarehouse
	 * @return Resp
	 */
	public Resp create(MdWarehouse mdWarehouse);

	/** 
	 * @Title delete
	 * @Description 删除记录
	 * @author gaofeng
	 * @date 2017年5月24日 下午2:23:11
	 * @param mdWarehouse
	 * @return Resp
	 */
	public Resp delete(MdWarehouse mdWarehouse);
	
	/** 
	 * @Title findListByCondition
	 * @Description 根据条件查询记录
	 * @author gaofeng
	 * @date 2017年5月24日 下午2:23:27
	 * @param page
	 * @param rows
	 * @param condition
	 * @return Pager<MdWarehouse>
	 */
	public Pager<MdWarehouse> findListByCondition(int page, int rows, MdWarehouse condition);
	
	/** 
	 * @Title findById
	 * @Description 根据id查询记录
	 * @author gaofeng
	 * @date 2017年5月24日 下午2:23:50
	 * @param id
	 * @return MdWarehouse
	 */
	public MdWarehouse findById(String id);
	
	/** 
	 * @Title findByCode
	 * @Description 根据code查询记录
	 * @author gaofeng
	 * @date 2017年5月24日 下午2:24:08
	 * @param mdWarehouse
	 * @return MdWarehouse
	 */
	public MdWarehouse findByCode(MdWarehouse mdWarehouse);
	
	/** 
	 * @Title getFactoryByCode
	 * @Description 根据仓库编码查询对应的工厂号
	 * @author luoteng
	 * @date 2017年11月3日:上午10:56:34
	 * @param warehouseCode
	 * @return String
	 */
	public String getFactoryByCode(String warehouseCode);
	
	/** 
	 * @Title update
	 * @Description 修改记录
	 * @author gaofeng
	 * @date 2017年5月24日 下午2:26:58
	 * @param mdWarehouse
	 * @return Resp
	 */
	public Resp update(MdWarehouse mdWarehouse);
	
	/** 
	 * @Title queryWarehousesUnderFactory
	 * @Description 查询工厂下的仓库
	 * @author Administrator
	 * @date 2017年5月24日 下午2:27:14
	 * @param condition
	 * @return List<MdWarehouse>
	 */
	public List<MdWarehouse> queryWarehousesUnderFactory(MdWarehouse condition);
	
	/** 
	 * @Title queryByAny
	 * @Description 查询所有仓库数据
	 * @author luoteng
	 * @date 2017年11月3日:上午11:25:54
	 * @return List<MdWarehouse>
	 */
	public List<MdWarehouse> queryByAny();
}
